블로그 릴레이 - Amazon Bedrock의 Prompt Flows 사용해보기
안녕하세요. 제조 비지니스 테크놀로지부의 이병현입니다.
본 블로그는 당사의 한국어 블로그 릴레이의 열 번째 블로그입니다.
이번 블로그의 주제는 「Amazon Bedrock의 Prompt Flows 사용해보기」 입니다.
Amazon Bedrock은 LLM 모델들을 AWS를 통해 사용할 수 있게 해주는 서비스입니다.
Amazon Bedrock에 대해서는 아래 블로그를 참고해 주세요.
Amazon Bedrock에서 Prompt Flows라는 기능을 7월에 프리뷰로 공개했습니다.
아쉽게도 서울 리전에서는 아직 사용할 수 없습니다. (2024/08 기준)
구체적인 사용법보다는 전체적인 서비스와 기능의 분위기를 설명하겠습니다.
Amazon Bedrock Prompt Flows란?
Prompt Flows는 Bedrock을 이용하면서 다양한 워크플로우를 생성할 수 있게 도와주는 기능입니다.
프롬프트, RAG, AWS Lambda 호출 등 여러 기능들을 사용하여 LLM이 더 잘 동작할 수 있게 도와줍니다.
위 사진과 같이 웹 콘솔에서 UI를 보면서 직접 설정할 수도 있어서 매우 편리합니다.
웹 콘솔에서 직접 설정하고 실행까지 바로 확인할 수 있어, 빠른 테스트가 필요한 경우 유용합니다.
Amazon Bedrock Prompt Flows 사용해보기
Prompt Flows 추가
Amazon Bedrock에서 왼쪽의 오케스트레이션 메뉴 하위의 Prompt Flows에서 Prompt Flows를 추가하실 수 있습니다.
이름과 역할이 필요합니다. 역할은 직접 만드셔도 되지만 스크린샷처럼 새로 생성해서 사용하겠습니다.
그러면 위처럼 Input과 Output 노드(블럭 모양의 아이템)가 보이게됩니다. Input 노드는 하나지만 Output 노드는 앞으로 여러개를 추가할 수 있습니다.
프롬프트 추가
왼쪽 메뉴에서 보라색의 Prompts 라는 기능을 드래그해서 화면에 가져와 봅시다.
그리고 화살표를 연결해주죠.
그러면 위처럼 3개의 노드가 서로 연결할 수 있습니다.
해당 노드를 클릭하면 나오는 메뉴에서 프롬프트 설정을 할 수 있습니다. 사전 프롬프트, 변수, 모델의 파라미터를 지정할 수 있습니다.
저는 입력으로 들어오는 값에 대해 좋은 답변을 달라고 하는 것과 한국어로 답변을 해달라고 사전에 지정해봤습니다.
돌아와서 실제로 테스트 해보면 설정한 프롬프트에 기반해서 답변이 나오는 것을 확인할 수 있습니다.
프롬프트를 여러개 만들어 두고 필요할 때 변경한다던지, 여러가지 방법으로 활용할 수 있겠네요.
AWS Lambda 추가
이번에는 위의 플로우에서 AWS Lambda를 추가해보겠습니다.
사용자의 요청과 동시에 다른 곳에서 데이터를 가져오고 데이터를 사용자의 요청에 맞게 대답을 하는 플로우 입니다.
topic에는 사용자의 요청이 data에는 외부 데이터로부터 온 값을 사용하게 됩니다.
export const handler = async (event) => {
const posts = await fetch('https://jsonplaceholder.typicode.com/posts')
.then(response => response.json())
.then(json => json);
const response = {
statusCode: 200,
body: JSON.stringify(posts),
};
return response;
};
코드는 위처럼 여러개의 포스트 정보를 가져온다 가정해 보겠습니다.
실제 사용자의 요청에 맞게 마지막 포스트를 요약해달라는 것을 이해하고 그대로 전해준 것을 확인할 수 있습니다!
참고로 요약 내용이 미묘해서 찾아보니 라틴어라 특이한 구문으로 되어있네요. 😅
{
"userId": 10,
"id": 100,
"title": "at nam consequatur ea labore ea harum",
"body": "cupiditate quo est a modi nesciunt soluta\nipsa voluptas error itaque dicta in\nautem qui minus magnam et distinctio eum\naccusamus ratione error aut"
}
마무리
본 블로그에 언급된 노드 외에도 여러 기능들이 있지만 아직까지 프리뷰라 많은 서비스들이 포함되어 있지는 않습니다.
하지만, 기본적인 프롬프트, AWS Lambda가 있으므로 잘만 사용한다면 여러가지 조합을 만들어 낼 수 있겠습니다.
점점 LLM을 이용하기 쉬워지는 것 같아서 흥미롭네요. 🤓
이상으로 한국어 블로그 릴레이의 열 번째 블로그 「Amazon Bedrock의 Prompt Flows 사용해보기」 편이었습니다.
다음 열한 번째 블로그 릴레이는 9월 첫째 주에 공개됩니다.
끝까지 읽어주셔서 감사합니다! 제조 비지니스 테크놀로지부의 이병현이었습니다.